package com.tancire.net.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tancire.common.annotation.Excel;
import com.tancire.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 会员管理对象 net_user
 *
 * @author chenchao
 * @date 2022-11-06
 */
public class NetUser extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 账号
     */
    @Excel(name = "账号")
    private String account;

    /**
     * 密码
     */
    @Excel(name = "密码")
    private String password;

    /**
     * 昵称
     */
    @Excel(name = "昵称")
    private String nickname;

    /**
     * 0 女  1 男
     */
    @Excel(name = "0 女  1 男 ")
    private Integer sex;

    /**
     * 出生日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出生日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /**
     * 头像
     */
    @Excel(name = "头像")
    private String avatar;

    /**
     * 0 正常  1 封禁
     */
    @Excel(name = "0 正常  1 封禁")
    private Integer status;

    /**
     * 星等
     */
    @Excel(name = "星等")
    private String level;

    /**
     * 来源
     */
    @Excel(name = "来源")
    private String source;

    /**
     * 微信OPENID
     */
    @Excel(name = "微信OPENID")
    private String openId;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String phone;

    /**
     * 邀请码
     */
    @Excel(name = "邀请码")
    private String inviteCodeOut;

    /**
     * 我的邀请码
     */
    @Excel(name = "我的邀请码")
    private String inviteCodeMine;

    /**
     * 银行名称
     */
    @Excel(name = "银行名称")
    private String bankName;

    /**
     * 支行名称
     */
    @Excel(name = "支行名称")
    private String bankBranch;

    /**
     * 银行卡号
     */
    @Excel(name = "银行卡号")
    private String bankCode;

    /**
     * 收款人姓名
     */
    @Excel(name = "收款人姓名")
    private String bankUser;

    /**
     * 封禁原因
     */
    private String disabling;

    /**
     * 0 正常  1 删除  真删除，字段保留
     */
    private Integer delFlag;

    /**
     * 活动积分
     */
    private BigDecimal activePoints;

    /**
     * 现金余额
     */
    private BigDecimal cashAmount;

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getAccount() {
        return account;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPassword() {
        return password;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getNickname() {
        return nickname;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getStatus() {
        return status;
    }

    public void setLevel(String level) {
        this.level = level;
    }

    public String getLevel() {
        return level;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getSource() {
        return source;
    }

    public void setOpenId(String openId) {
        this.openId = openId;
    }

    public String getOpenId() {
        return openId;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getPhone() {
        return phone;
    }

    public void setInviteCodeOut(String inviteCodeOut) {
        this.inviteCodeOut = inviteCodeOut;
    }

    public String getInviteCodeOut() {
        return inviteCodeOut;
    }

    public void setInviteCodeMine(String inviteCodeMine) {
        this.inviteCodeMine = inviteCodeMine;
    }

    public String getInviteCodeMine() {
        return inviteCodeMine;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankBranch(String bankBranch) {
        this.bankBranch = bankBranch;
    }

    public String getBankBranch() {
        return bankBranch;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankUser(String bankUser) {
        this.bankUser = bankUser;
    }

    public String getBankUser() {
        return bankUser;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() {
        return delFlag;
    }

    public String getDisabling() {
        return disabling;
    }

    public void setDisabling(String disabling) {
        this.disabling = disabling;
    }

    public BigDecimal getActivePoints() {
        return activePoints;
    }

    public void setActivePoints(BigDecimal activePoints) {
        this.activePoints = activePoints;
    }

    public BigDecimal getCashAmount() {
        return cashAmount;
    }

    public void setCashAmount(BigDecimal cashAmount) {
        this.cashAmount = cashAmount;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("account", getAccount())
                .append("password", getPassword())
                .append("nickname", getNickname())
                .append("gender", getSex())
                .append("birthday", getBirthday())
                .append("avatar", getAvatar())
                .append("status", getStatus())
                .append("level", getLevel())
                .append("source", getSource())
                .append("openId", getOpenId())
                .append("phone", getPhone())
                .append("inviteCodeOut", getInviteCodeOut())
                .append("inviteCodeMine", getInviteCodeMine())
                .append("bankName", getBankName())
                .append("bankBranch", getBankBranch())
                .append("bankCode", getBankCode())
                .append("bankUser", getBankUser())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
